package com.zlict.admin.service;

import java.util.List;
import com.zlict.admin.domain.RdVoucher;

/**
 * 物料领用-单据Service接口
 * 
 * @author ruoyi
 * @date 2025-06-18
 */
public interface IRdVoucherService 
{
    /**
     * 查询物料领用-单据
     * 
     * @param id 物料领用-单据主键
     * @return 物料领用-单据
     */
    public RdVoucher selectRdVoucherById(Long id);

    /**
     * 查询物料领用-单据列表
     * 
     * @param rdVoucher 物料领用-单据
     * @return 物料领用-单据集合
     */
    public List<RdVoucher> selectRdVoucherList(RdVoucher rdVoucher);

    /**
     * 新增物料领用-单据（包含材料）
     * 
     * @param rdVoucher 物料领用-单据
     * @return 结果
     */
    public int insertRdVoucher(RdVoucher rdVoucher);

    /**
     * 修改物料领用-单据（包含材料）
     * 
     * @param rdVoucher 物料领用-单据
     * @return 结果
     */
    public int updateRdVoucher(RdVoucher rdVoucher);

    /**
     * 批量删除物料领用-单据（包含材料）
     * 
     * @param ids 需要删除的物料领用-单据主键集合
     * @return 结果
     */
    public int deleteRdVoucherByIds(Long[] ids);

    /**
     * 删除物料领用-单据信息（包含材料）
     * 
     * @param id 物料领用-单据主键
     * @return 结果
     */
    public int deleteRdVoucherById(Long id);

    /**
     * 生成单据号
     * 格式：zlxt+年月日+顺序号（从001开始）
     * 
     * @return 生成的单据号
     */
    public String generateReceiptNumber();
}
